/* eslint-disable max-classes-per-file */
import { T_srv, Tsrv, ifs, ts, tvs, vue } from '@/services';

import { N_home } from '@/types';

const ID: string = Tsrv.utils.custUUID();
class T_theme {
  className: string;

  iconName: string;

  title: string;

  dot: number;
}
class T_item {
  value: string;

  label: string;

  dot: number;
}
class T_eleConf {
  config: T_theme;

  el: T_item[];
}
interface I_funcConf {
  todo?: T_eleConf;
  // msg?: T_eleConf;
  notify?: T_eleConf;
  broadcast?: T_eleConf;
  alarm?: T_eleConf;
  earlyWarning?: T_eleConf;
  help?: T_eleConf;
  errList?: T_eleConf;
}
const funcConfig: I_funcConf = {
  errList: {
    config: {
      className: 'errList',
      iconName: 'wy-icon wy-delete-all',
      title: 'menu.errList.title',
      dot: 0
    },
    el: [
      {
        value: 'errList|currentErr',
        label: Tsrv.getI18nByValue('错误详情'),
        dot: 0
      }
    ]
  },
  help: {
    config: {
      className: 'help',
      iconName: 'wy-icon wy-list',
      // title: '帮助',
      title: 'menu.help.title',
      dot: 0
    },
    el: [
      {
        // value: '1|功能',
        // label: '使用文档',
        // value: "menu.features",
        value: 'help|helpFile',
        label: 'menu.help.userdocument',
        dot: 0
      },
      // {
      //   // value: '1|功能',
      //   // label: '人工客服',
      //   value: 'menu.features',
      //   label: 'menu.help.manualcustomerservice',
      //   dot: 0
      // },
      {
        // value: '1|功能',
        // label: '开发文档',
        value: 'help|developFile',
        label: 'menu.help.developerdocument',
        dot: 0
      },
      {
        // value: '1|功能',
        // label: '版本信息',
        value: 'help|versionInfomation',
        label: 'menu.help.about',
        dot: 0
      }
    ]
  }
};

class T_home {
  readonly funcConf: I_funcConf;

  constructor() {
    this.funcConf = funcConfig;
  }
}
const TcompBox: ifs.I_compBox = new ts.T_compBox(ID);

export { I_funcConf, N_home, T_home, T_srv, Tsrv, ifs, ts, tvs, vue };
